package com.mrd.frame.service;

import java.util.Date;
import java.util.List;

import com.mrd.frame.domain.TradeStatement;
import com.mrd.frame.domain.message.ReconciliationMessage;
import com.mrd.frame.domain.params.ReconciliationParams;

public interface TradeStatementService {
	/**
	 * 根据id删除
	 * @param tradingStatementsId
	 * @return 数据库受影响的条数
	 */
    int deleteByPrimaryKey(String tradingStatementsId);
    /**
	 * 新增一条数据(id自动生成)
	 * @param TradeStatement
	 * @return 数据库受影响的条数
	 */
    int insert(TradeStatement record);
    /**
	 * 新增一条数据（id自动生成，null值不插入）
	 * @param TradeStatement
	 * @return 数据库受影响的条数
	 */
    int insertSelective(TradeStatement record);
    /**
	 * 根据id查询
	 * @param tradingStatementsId
	 * @return TradeStatement
	 */
    TradeStatement selectByPrimaryKey(String tradingStatementsId);
    /**
	 * 更新数据（更新对象中的非null属性）
	 * @param TradeStatement
	 * @return 数据库受影响的条数
	 */
    int updateByPrimaryKeySelective(TradeStatement record);
    /**
	 * 更新数据（除id外全部属性更新）
	 * @param TradeStatement
	 * @return 数据库受影响的条数
	 */
    int updateByPrimaryKey(TradeStatement record);
    /**
     * 与业务系统对账（优先按商户订单号查询，没有则按日期区间查询，日期区间null则默认查24小时）
     * @param ReconciliationParams
     * @return ReconciliationMessage
     */
    ReconciliationMessage reconciliation(ReconciliationParams params);
    /**
	 * 根据非null属性查询
	 * @param Order
	 * @return 所有满足条件的数据
	 */
    List<TradeStatement> selectSelective(TradeStatement record);
}